Type inference for late binding: The SmallEiffel Compiler
Identifieur interne : 00BB99 ( Main/Exploration ); précédent : 00BB98; suivant : 00BC00Type inference for late binding: The SmallEiffel Compiler
Auteurs : Suzanne Collin [France] ; Dominique Colnet [France] ; Olivier Zendra [France]Source :
- Lecture Notes in Computer Science [ 0302-9743 ]
Descripteurs français
- Pascal (Inist)
- Wicri :
- topic : Langage de programmation.
English descriptors
Abstract
Abstract: The SmallEiffel compiler uses a simple type inference mechanism to translate Eiffel source code to C code. The most important aspect in our technique is that many occurrences of late binding are replaced by static binding. Moreover, when dynamic dispatch cannot be removed, inlining is still possible. The advantage of this approach is that it speeds up execution time and decreases considerably the amount of generated code. SmallEiffel compiler source code itself is a large scale benchmark used to show the quality of our results. Obviously, this efficient technique can also be used for class-based languages without dynamic class creation: for example, it is possible for C++[10] or Java and not possible for Smalltalk.
Url:
DOI: 10.1007/3-540-62599-2_31
Affiliations:
Links toward previous steps (curation, corpus...)
- to stream Istex, to step Corpus: 000469
- to stream Istex, to step Curation: 000466
- to stream Istex, to step Checkpoint: 002732
- to stream Main, to step Merge: 00C377
- to stream PascalFrancis, to step Corpus: 000C55
- to stream PascalFrancis, to step Curation: 000C24
- to stream PascalFrancis, to step Checkpoint: 000C02
- to stream Main, to step Merge: 00C499
- to stream Main, to step Curation: 00BB99
Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title xml:lang="en">Type inference for late binding: The SmallEiffel Compiler</title>
<author><name sortKey="Collin, Suzanne" sort="Collin, Suzanne" uniqKey="Collin S" first="Suzanne" last="Collin">Suzanne Collin</name>
</author>
<author><name sortKey="Colnet, Dominique" sort="Colnet, Dominique" uniqKey="Colnet D" first="Dominique" last="Colnet">Dominique Colnet</name>
</author>
<author><name sortKey="Zendra, Olivier" sort="Zendra, Olivier" uniqKey="Zendra O" first="Olivier" last="Zendra">Olivier Zendra</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:153AA72979EF4A9C5AFCFD392DFAF48E811F3F74</idno>
<date when="1997" year="1997">1997</date>
<idno type="doi">10.1007/3-540-62599-2_31</idno>
<idno type="url">https://api.istex.fr/ark:/67375/HCB-4S0H76W4-M/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">000469</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">000469</idno>
<idno type="wicri:Area/Istex/Curation">000466</idno>
<idno type="wicri:Area/Istex/Checkpoint">002732</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">002732</idno>
<idno type="wicri:doubleKey">0302-9743:1997:Collin S:type:inference:for</idno>
<idno type="wicri:Area/Main/Merge">00C377</idno>
<idno type="wicri:source">INIST</idno>
<idno type="RBID">Pascal:97-0375973</idno>
<idno type="wicri:Area/PascalFrancis/Corpus">000C55</idno>
<idno type="wicri:Area/PascalFrancis/Curation">000C24</idno>
<idno type="wicri:Area/PascalFrancis/Checkpoint">000C02</idno>
<idno type="wicri:explorRef" wicri:stream="PascalFrancis" wicri:step="Checkpoint">000C02</idno>
<idno type="wicri:doubleKey">0302-9743:1997:Collin S:type:inference:for</idno>
<idno type="wicri:Area/Main/Merge">00C499</idno>
<idno type="wicri:Area/Main/Curation">00BB99</idno>
<idno type="wicri:Area/Main/Exploration">00BB99</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">Type inference for late binding: The SmallEiffel Compiler</title>
<author><name sortKey="Collin, Suzanne" sort="Collin, Suzanne" uniqKey="Collin S" first="Suzanne" last="Collin">Suzanne Collin</name>
<affiliation wicri:level="3"><country xml:lang="fr">France</country>
<wicri:regionArea>Campus Scientifique, Bâtiment LORIA, Boîte Postale 239, 54506, Vandoeuvre-lès-Nancy Cedex</wicri:regionArea>
<placeName><region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
<settlement type="city">Vandœuvre-lès-Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1"><country xml:lang="fr">France</country>
<wicri:regionArea>Centre de Recherche en Informatique de Nancy</wicri:regionArea>
</affiliation>
</author>
<author><name sortKey="Colnet, Dominique" sort="Colnet, Dominique" uniqKey="Colnet D" first="Dominique" last="Colnet">Dominique Colnet</name>
<affiliation wicri:level="3"><country xml:lang="fr">France</country>
<wicri:regionArea>Campus Scientifique, Bâtiment LORIA, Boîte Postale 239, 54506, Vandoeuvre-lès-Nancy Cedex</wicri:regionArea>
<placeName><region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
<settlement type="city">Vandœuvre-lès-Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1"><country xml:lang="fr">France</country>
<wicri:regionArea>Centre de Recherche en Informatique de Nancy</wicri:regionArea>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">France</country>
</affiliation>
</author>
<author><name sortKey="Zendra, Olivier" sort="Zendra, Olivier" uniqKey="Zendra O" first="Olivier" last="Zendra">Olivier Zendra</name>
<affiliation wicri:level="3"><country xml:lang="fr">France</country>
<wicri:regionArea>Campus Scientifique, Bâtiment LORIA, Boîte Postale 239, 54506, Vandoeuvre-lès-Nancy Cedex</wicri:regionArea>
<placeName><region type="region" nuts="2">Grand Est</region>
<region type="old region" nuts="2">Lorraine (région)</region>
<settlement type="city">Vandœuvre-lès-Nancy</settlement>
</placeName>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<title level="s" type="abbrev">Lect Notes Comput Sci</title>
<idno type="ISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="ISSN">0302-9743</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass><keywords scheme="KwdEn" xml:lang="en"><term>Compilation</term>
<term>Modular programming</term>
<term>Programming language</term>
<term>Software tool</term>
</keywords>
<keywords scheme="Pascal" xml:lang="fr"><term>Compilation</term>
<term>Langage programmation</term>
<term>Outil logiciel</term>
<term>Programmation modulaire</term>
</keywords>
<keywords scheme="Wicri" type="topic" xml:lang="fr"><term>Langage de programmation</term>
</keywords>
</textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">Abstract: The SmallEiffel compiler uses a simple type inference mechanism to translate Eiffel source code to C code. The most important aspect in our technique is that many occurrences of late binding are replaced by static binding. Moreover, when dynamic dispatch cannot be removed, inlining is still possible. The advantage of this approach is that it speeds up execution time and decreases considerably the amount of generated code. SmallEiffel compiler source code itself is a large scale benchmark used to show the quality of our results. Obviously, this efficient technique can also be used for class-based languages without dynamic class creation: for example, it is possible for C++[10] or Java and not possible for Smalltalk.</div>
</front>
</TEI>
<affiliations><list><country><li>France</li>
</country>
<region><li>Grand Est</li>
<li>Lorraine (région)</li>
</region>
<settlement><li>Vandœuvre-lès-Nancy</li>
</settlement>
</list>
<tree><country name="France"><region name="Grand Est"><name sortKey="Collin, Suzanne" sort="Collin, Suzanne" uniqKey="Collin S" first="Suzanne" last="Collin">Suzanne Collin</name>
</region>
<name sortKey="Collin, Suzanne" sort="Collin, Suzanne" uniqKey="Collin S" first="Suzanne" last="Collin">Suzanne Collin</name>
<name sortKey="Colnet, Dominique" sort="Colnet, Dominique" uniqKey="Colnet D" first="Dominique" last="Colnet">Dominique Colnet</name>
<name sortKey="Colnet, Dominique" sort="Colnet, Dominique" uniqKey="Colnet D" first="Dominique" last="Colnet">Dominique Colnet</name>
<name sortKey="Colnet, Dominique" sort="Colnet, Dominique" uniqKey="Colnet D" first="Dominique" last="Colnet">Dominique Colnet</name>
<name sortKey="Zendra, Olivier" sort="Zendra, Olivier" uniqKey="Zendra O" first="Olivier" last="Zendra">Olivier Zendra</name>
</country>
</tree>
</affiliations>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 00BB99 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 00BB99 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Lorraine |area= InforLorV4 |flux= Main |étape= Exploration |type= RBID |clé= ISTEX:153AA72979EF4A9C5AFCFD392DFAF48E811F3F74 |texte= Type inference for late binding: The SmallEiffel Compiler }}
This area was generated with Dilib version V0.6.33. |